package FlightInfo;

public class FlightStatus {

    public int WithFlightID;//和航班ID绑定
    public int InFlightControllerStatus;

    /*
     *格式为 航班数字代号 管制代号
     *所有航班的管制状态一律以一下状态为准
     *且这些航班被管制员转交后才能自动改变代号
     * -1：航班已取消
     * 0：计划中
     *1：放行席位
     * 2：地面管制席位
     * 3：塔台席位
     * 4：进场席位
     * 5：离场席位（如果机场配备的话）
     * 6：已移交区域管制或者是移交飞行情报区
     * 7：未到达机场管制服务区域
     */

    /*机场管制席位参数*/
    public String LastHandoffTime;//用于记录上次管制员转交到其他频率时间
    /*然后是地面*/
    public String FlightTaxiVia;//地面应记录每架航班的滑行路径
    public boolean IsApproveFlightTaxi;//是否准许滑行，也可以是是否让位等
    /*针对离港*/
    public String FlightPushbankStartTime;//准许航班开车时间，格式为 HHMM
    public String FlightPushbankOverTime;//航班开完车时间，格式为 HHMM
    /*进港航班*/
    public String FlightHandoffInTime;//塔台转交到本频率的时间，格式为 HHMM
    public String FlightDockedAtGateTime;//航班滑行到达机位时间，格式为 HHMM

    /*下面是塔台*/
    public float TWRFreq;//塔台席位频率
    /*针对离港*/
    public String FlightInWaitpoint;//记录该航班在哪个等待点等待起飞
    public int ISApprovedFlightTKF;//是否准许航班起飞，0为跑到外等，1为上跑到等待，2为允许起飞
    public String FlightTKFTime;//记录准许离港航班起飞时间
    public String FlightAirboneTime;//记录离港航班离地时间
    public String HandOffToUPTime;//记录离港航班转交到上层管制时间
    /*进港航班*/
    public boolean ISApprovedFlightLanding;//是否准许航班降落
    public String ApprovedLandingTime;//塔台基于准许落地时间
    public String FlightLandingTime;//记录降落航班落地时间
    public String FlightExitRWYAt;//记录该航班离开跑道在哪个等待点
    public String HandOffToGNDTime;//记录该航班转交到地面时
    /*再下面是进近和离场*/
    /*针对离港*/
    public int FlightHandoffAlt;//离场转交高度
    public String FlightRadarIdentfyTime;//雷达识别时间*(应答机C模式被雷达识别时间)
    public boolean IsFlightViaSID;//是否沿SID上到巡航高度
    public String NoViaSIDAltTime;//取消高度限制的时间
    public String DepDirectTo;//直飞点
    public String HandOffToCenterContorllerTime;//转交到区调或飞行情报区的时间*(又称此机场终止对该机组服务的时间)
    /*进港航班*/
    public String HandOffOnTime;//转交到本频率的时间*(又称此机场开始对该机组服务的时间)
    public boolean IsFlightViaSTAR;//是否沿STAR下降到Final，包括RNAV和LNAV
    public int NoViaSTARTime;//取消高度限制的时间
    public int NoViaStarRnavAlt;//取消沿高度下高时间
    public String AprDirectTo;//直飞点
    public boolean IsApprovedILSApr;//是否允许建立ILS进近(可以不包括允许G/S截获)
    public String ApprovedEstablishILSAprTime;//允许建立ILS时间
    public String FlightILS_LOCInterceptedTime;//航班截获ILS_LOC时间
    public String FlightILS_GSInterceptedTime;//航班截获ILS_G/S时间
    public String HandOffToTowerTime;//航班转交塔台时间

    public FlightStatus(int WithFlightID,int InFlightControllerStatus)
    {
        this.WithFlightID = WithFlightID;
        this.InFlightControllerStatus = InFlightControllerStatus;
    }
    /*初始化刚需:绑定的航班ID起始状态码*/
}

/*
*2024.11.18:基本重构完毕
*
*
*/